package com.xinhe.web.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinhe.web.entity.OrderAddress;
import com.xinhe.web.entity.OrderItem;
import com.xinhe.web.entity.Shop;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class OrderDetailView {
    @ApiModelProperty("id")
    private Long id;
    @ApiModelProperty("会员id")
    private Long userId;
    @ApiModelProperty("商家会员id")
    private Long sellerUserId;
    @ApiModelProperty("优惠劵id")
    private Long couponMemberId;
    @ApiModelProperty("门店id(当类型为自提才有值)")
    private Long shopId;
    @ApiModelProperty("订单编码")
    private String code;
    @ApiModelProperty("订单总费用")
    private BigDecimal orderFee = BigDecimal.ZERO;
    @ApiModelProperty("订单支付费用")
    private BigDecimal orderPayFee = BigDecimal.ZERO;
    @ApiModelProperty("订单总运费")
    private BigDecimal freightFee = BigDecimal.ZERO;
    @ApiModelProperty("订单优惠费用")
    /* 45 */ private BigDecimal preferentialFee = BigDecimal.ZERO;
    @ApiModelProperty("订单类型")
    private String type;
    @ApiModelProperty("订单配送类型")
    private String distributionType;
    @ApiModelProperty("订单状态")
    private String status;
    @ApiModelProperty("买家备注")
    private String buyerRemark;
    @ApiModelProperty("商家名称")
    private String sellerShopName;
    @ApiModelProperty("商家头像")
    private String sellerIconPath;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("下单时间")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("订单支付时间")
    private Date payTime;
    @ApiModelProperty("买家提醒发货（0,1）")
    private Integer remindSend;
    @ApiModelProperty("买家提醒发货时间")
    private Date remindSendTime;
    private List<OrderItem> orderItems;
    private OrderAddress orderAddress;
    private Shop shop;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getSellerUserId() {
        return sellerUserId;
    }

    public void setSellerUserId(Long sellerUserId) {
        this.sellerUserId = sellerUserId;
    }

    public Long getCouponMemberId() {
        return couponMemberId;
    }

    public void setCouponMemberId(Long couponMemberId) {
        this.couponMemberId = couponMemberId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public BigDecimal getOrderFee() {
        return orderFee;
    }

    public void setOrderFee(BigDecimal orderFee) {
        this.orderFee = orderFee;
    }

    public BigDecimal getOrderPayFee() {
        return orderPayFee;
    }

    public void setOrderPayFee(BigDecimal orderPayFee) {
        this.orderPayFee = orderPayFee;
    }

    public BigDecimal getFreightFee() {
        return freightFee;
    }

    public void setFreightFee(BigDecimal freightFee) {
        this.freightFee = freightFee;
    }

    public BigDecimal getPreferentialFee() {
        return preferentialFee;
    }

    public void setPreferentialFee(BigDecimal preferentialFee) {
        this.preferentialFee = preferentialFee;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDistributionType() {
        return distributionType;
    }

    public void setDistributionType(String distributionType) {
        this.distributionType = distributionType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getBuyerRemark() {
        return buyerRemark;
    }

    public void setBuyerRemark(String buyerRemark) {
        this.buyerRemark = buyerRemark;
    }

    public String getSellerShopName() {
        return sellerShopName;
    }

    public void setSellerShopName(String sellerShopName) {
        this.sellerShopName = sellerShopName;
    }

    public String getSellerIconPath() {
        return sellerIconPath;
    }

    public void setSellerIconPath(String sellerIconPath) {
        this.sellerIconPath = sellerIconPath;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Integer getRemindSend() {
        return remindSend;
    }

    public void setRemindSend(Integer remindSend) {
        this.remindSend = remindSend;
    }

    public Date getRemindSendTime() {
        return remindSendTime;
    }

    public void setRemindSendTime(Date remindSendTime) {
        this.remindSendTime = remindSendTime;
    }

    public List<OrderItem> getOrderItems() {
        return orderItems;
    }

    public void setOrderItems(List<OrderItem> orderItems) {
        this.orderItems = orderItems;
    }

    public OrderAddress getOrderAddress() {
        return orderAddress;
    }

    public void setOrderAddress(OrderAddress orderAddress) {
        this.orderAddress = orderAddress;
    }

    public Shop getShop() {
        return shop;
    }

    public void setShop(Shop shop) {
        this.shop = shop;
    }
}
